import React  from 'react';
// 生命周期-销毁
class App extends React.Component{
  state = {
    isCreated: true,
  };
  render() {
    return (
      <div>
        <button
          onClick={() => {
            this.setState({
              isCreated: !this.state.isCreated,
            });
          }}
        >
          click
        </button>
        {/* {this.state.isCreated?<Child/>:""} */}
        {this.state.isCreated && <Child />}
      </div>
    );
  }
}

class Child extends React.Component {
  render() {
    return <div>child</div>;
  }

  componentDidMount() {
    window.onresize = () => {
      console.log("resize");
    };

    this.timer = setInterval(() => {
      console.log("111");
    }, 1000);
  }
  /**
   * 是React组件生命周期中的一个方法，用于在组件即将被卸载和销毁之前执行一些清理操作。
   * 在这个方法中，通常会取消订阅、清除定时器、取消网络请求等，以确保所有资源都被正确释放。
   */
  componentWillUnmount() {
    console.log("componentWillUnmount");

    window.onresize = null;

    clearInterval(this.timer);
  }
}

export default App;
